package genetica.cromosomas.genes;

public class GenNaturalLimitado implements Gen , Cloneable {
	protected Integer genValue;
	protected int max;

	public int getMax(){
		return max;
	}
	
	public GenNaturalLimitado(int value,int max) {
		this.genValue = value;
		this.max = max;
		
	}

	public int getGenValue() {
		return genValue;
	}

	public void setGenValue(int genValue) {
		this.genValue = genValue;
	}

	@Override
	public Gen getAleatGen(){
		return new GenNaturalLimitado(r.nextInt(max),max);
	}
	
	@Override
	public boolean equals(Object o){
		if (o instanceof GenNaturalLimitado){
			return ((GenNaturalLimitado) o).genValue == this.genValue;
		}
		return false;
	}
	public String toString(){
		return ""+genValue;
	}
	
	public int compareTo(Gen o) {
		if (!(o instanceof GenNaturalLimitado))
			throw new Error("Genes distintos");
		return this.genValue.compareTo(((GenNaturalLimitado)o).genValue);
	}

}

